/**
 * 给页面添加事件监控，当全屏后按esc键则推出全屏
 * @param {Object} event.keyCode==27(esc)
 */
$(document).keydown(function(event){
    if (event.keyCode == 27) {
        if (top.$("#centerDiv").size() > 0) { // 如果存在centerDiv的div
            if (top.$("#centerDiv").panel("options").maximized) {
                originalScreen();
            }
        }
    }
});

/**
 * 给tabs添加双击事件，全屏切换
 */
$(function(){
    $("#centerTabs .tabs").css("cursor", "pointer");
    $("#centerTabs .tabs").bind("dblclick", function(){
        if (top.$("#centerDiv").size() > 0) { // 如果存在centerDiv的div
            if (top.$("#centerDiv").panel("options").maximized) {
                originalScreen();
            }
            else {
                fullScreen();
            }
        }
    });
});


/**
 * 全屏打开主頁面
 */
function fullScreen(){
    top.$("#northDiv").panel("close");
    top.$("#southDiv").panel("close");
    top.$("#westDiv").panel("close");
    
    top.$("#centerDiv").panel("maximize");
}

/**
 * 页面退出全屏，返回初始大小
 */
function originalScreen(){
    top.$("#northDiv").panel("open");
    top.$("#southDiv").panel("open");
    top.$("#westDiv").panel("open");
    
    top.$("#centerDiv").panel("restore");
}

/**
 * 去掉前后的空格
 */
String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

/**
 * 去掉前面的空格
 */
String.prototype.lTrim = function(){
    return this.replace(/(^\s*)/g, "");
}

/** 
 * 去掉后面的空格
 */
String.prototype.rTrim = function(){
    return this.replace(/(\s*$)/g, "");
}

/**
 * 表单控件扩展自定义规则
 * @param {Object} value
 * @param {Object} param
 */
$.extend($.fn.validatebox.defaults.rules, {
    CHS: {
        validator: function(value, param){
            return /^[\u0391-\uFFE5]+$/.test(value);
        },
        message: '请输入汉字'
    },
    ZIP: {
        validator: function(value, param){
            return /^[1-9]\d{5}$/.test(value);
        },
        message: '邮政编码不存在'
    },
    QQ: {
        validator: function(value, param){
            return /^[1-9]\d{4,10}$/.test(value);
        },
        message: 'QQ号码不正确'
    },
    mobile: {
        validator: function(value, param){
            return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/.test(value);
        },
        message: '手机号码不正确'
    },
    loginName: {
        validator: function(value, param){
            return /^[\u0391-\uFFE5\w]+$/.test(value);
        },
        message: '登录名称只允许汉字、英文字母、数字及下划线。'
    },
    safepass: {
        validator: function(value, param){
            return safePassword(value);
        },
        message: '密码由字母和数字组成，至少6位'
    },
    equalTo: {
        validator: function(value, param){
            return value == $(param[0]).val();
        },
        message: '两次输入的字符不一至'
    },
    number: {
        validator: function(value, param){
            return /^\d+$/.test(value);
        },
        message: '请输入数字'
    },
    idcard: {
        validator: function(value, param){
            return idCard(value);
        },
        message: '请输入正确的身份证号码'
    }
});
